﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using STS.Schema.Interfaces;
using STS.Schema.Collections;
using STS.Schema.Enums;
using STS.Schema.Base;
using STS.Interfaces;

namespace STS.Schema.MSSql
{
    /// <summary>
    /// </summary>
    /// <remarks></remarks>
    /// <example></example>
    public class MSSqlScalarFunction : SqlObjectBase, IScalarFunction
    {
        public override SqlObjectType ObjectType
        {
            get { return SqlObjectType.ScalarFunction; }
        }

        [SqlQueryProperty("object_id")]
        public override int ObjectID { get; internal set; }

        [SqlQueryProperty("name")]
        public override string Name { get; internal set; }

        [SqlQueryProperty("definition")]
        public string Definition { get; internal set; }

        public MSSqlScalarFunction(ISchemaFactory schemaFactory, IDatabase database)
            : base(schemaFactory, database)
        {

        }

        public MSSqlScalarFunction()
            : this(null, null)
        {

        }

        public override ISqlObjectCollection GetChildren<TChild>()
        {
            return null;
        }

    }
}
